package com.storage.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 用户表 storage_user
 *
 * @author storage
 * @date 2019-08-18
 */
@ApiModel(value = "用户对象", description = "用户对象")
public class StorageUser implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long id;
    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称")
    private String nickName;
    /**
     * 密码
     */
    @ApiModelProperty(value = "密码")
    private String password;
    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;
    /**
     * 盐加密
     */
    @ApiModelProperty(value = "盐加密")
    private String salt;
    /**
     * 业务员编码(随意生成的业务员邀请码用于推广时候使用)
     */
    @ApiModelProperty(value = "业务员编码(随意生成的业务员邀请码用于推广时候使用)")
    private String businessCode;
    /**
     * 角色(1-超级管理员;2-系统业务员;3-代理商;4-店长;5-采购员;6-库存管理员;7-店铺销售员)
     */
    @ApiModelProperty(value = "角色(1-超级管理员;2-系统业务员;3-代理商;4-店长;5-采购员;6-库存管理员;7-店铺销售员)")
    private Integer role;
    /**
     * 头像url
     */
    @ApiModelProperty(value = "头像")
    private String avatar;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String address;
    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private String email;
    /**
     * 传真
     */
    @ApiModelProperty(value = "传真")
    private String fax;
    /**
     * 用户所属店铺id
     */
    @ApiModelProperty(value = "当前用户属于哪一家店铺")
    private Long shopId;
    /**
     * 来源(自己注册的默认为空;上下级邀请注册填写对应的电话号码;推广业务员邀请注册填写业务员的invitation_code)
     */
    @ApiModelProperty(value = "来源(自己注册的默认为空;上下级邀请注册填写对应的电话号码;推广业务员邀请注册填写业务员的invitation_code)")
    private String source;
    /**
     * 微信code
     */
    @ApiModelProperty(value = "微信code")
    private String wxCode;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "行业")
    private String industry;

    /**
     * 验证码
     */
    private String identifyCode;

    /**
     * 被推荐人列表
     */
    private List<StorageUser> recommend;

    /**
     * token
     */
    private String authorization;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public String getPhone() {
        return phone;
    }

    public String getBusinessCode() {
        return businessCode;
    }

    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
    }

    public void setRole(Integer role) {
        this.role = role;
    }

    public Integer getRole() {
        return role;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }

    public String getFax() {
        return fax;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSource() {
        return source;
    }

    public void setWxCode(String wxCode) {
        this.wxCode = wxCode;
    }

    public String getWxCode() {
        return wxCode;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getIdentifyCode() {
        return identifyCode;
    }

    public void setIdentifyCode(String identifyCode) {
        this.identifyCode = identifyCode;
    }

    public List<StorageUser> getRecommend() {
        return recommend;
    }

    public void setRecommend(List<StorageUser> recommend) {
        this.recommend = recommend;
    }

    public String getIndustry() {
        return industry;
    }

    public void setIndustry(String industry) {
        this.industry = industry;
    }

    public String getAuthorization() {
        return authorization;
    }

    public void setAuthorization(String authorization) {
        this.authorization = authorization;
    }
}
